\documentclass[a4paper,11pt] {article}
\usepackage[left=2.5cm,right=1.85cm,top=2.5cm,bottom=4cm]{geometry}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[normalem]{ulem}
\usepackage[french]{babel}
\usepackage{verbatim}
\usepackage{graphicx}
\newcommand{\HRule}{\rule{\linewidth}{0.5mm}}

\begin{document}

%\maketitle
\begin{titlepage}
 
	\begin{center}
	%\includegraphics[width=0.5\textwidth]{./snort_logo.png}\\[1cm]
		\textsc{\LARGE Université Nancy 2 - IUT Charlemagne}\\[1.5cm]

		\textsc{\LARGE Année universitaire 2008/2009}\\[1.5cm]

		%\textsc{\Large Outils Logiciels Libres}\\[0.5cm]
 
		% Title
		\HRule \\[0.4cm]
		{ 	\huge \bfseries Rapport de Stage \linebreak 
		
		\begin{large}Migration d'un serveur de messagerie et Étude relative à l'ajout d'un deuxième fournisseur d'accès Internet\end{large}}\\[0.4cm]
		\huge \bfseries 2ST\linebreak 

		\HRule \\[11.7cm]
 
		% Author and supervisor
		\begin{minipage}{0.4\textwidth}
		\begin{flushleft} \large
		\emph{Auteur:} Romain \textsc{Gegout}\\
		\end{flushleft}
		\end{minipage}
		\begin{minipage}{0.5\textwidth}
		\begin{flushright} \large
		\emph{} \\
			{\large \emph{Date :} 6 avril au 26 juin 2009\\}
		\end{flushright}
		\end{minipage}

		\vfill
	\end{center}
\end{titlepage}

%page blanche
\newpage
\null
\newpage

%page de titre
\newpage
\begin{titlepage}
 
	\begin{center}
	%\includegraphics[width=0.5\textwidth]{./snort_logo.png}\\[1cm]
		\textsc{\LARGE Université Nancy 2 - IUT Charlemagne}\\[0.5cm]

		\textsc{\LARGE Année universitaire 2008/2009}\\[0.5cm]

		%\textsc{\Large Outils Logiciels Libres}\\[0.5cm]
 
		% Title
		\HRule \\[0.2cm]
		{ 	\huge \bfseries Rapport de Stage \linebreak 
		
		\begin{large}Migration d'un serveur de messagerie et Étude relative à l'ajout d'un deuxième fournisseur d'accès Internet\end{large}}\\[0.2cm]
		\huge \bfseries 2ST

		\HRule \\[7cm]
		{		
		\begin{large}Coordonnées : 2ST\\
                    2 RUE DE LA PLAINE\\
                    54320 MAXEVILLE\\
                    Téléphone : 03 83 98 55 99\end{large}}\\

		\HRule \\[4.5cm]
 
		% Author and supervisor
		\begin{minipage}{0.5\textwidth}
		\begin{flushleft} \large
		\emph{Auteur:} Romain \textsc{Gegout}\\
		\emph{Tuteur entreprise:} Pierre \textsc{Lassey}\\
		\emph{Parrain IUT:} Catherine \textsc{Mariage}\\
		\end{flushleft}
		\end{minipage}
		\begin{minipage}{0.4\textwidth}
		\begin{flushright} \large
		\emph{} \\
			{\large \emph{Date :} 6 avril au 26 juin 2009\\}
		\end{flushright}
		\end{minipage}
		\vfill
	\end{center}
\end{titlepage}

% page de remerciements
\newpage
\section{Remerciements}
Je souhaite remercier ...

\newpage
\tableofcontents

% page Introduction général
\newpage

\section{Introduction}

% revoir les quotas, et gérer l'authentification SMTP ...

	Le but du stage est de migrer un serveur de messagerie. Le serveur qui est actuellement en production comprend un serveur SMTP (Postfix 2.2.7), un serveur permettant de gérer les boîtes aux lettres des utilisateurs au format MailDir (courier-imap 4.0.6), ainsi qu'un serveur de base de données (mysql-server 4.1.16) et d'un serveur Web (Apache 2.2.4). 2ST a développé en interne 2 applications de gestion de compte mail et 2 applications webmail qu'il faudra conserver. Je dois partir d'une machine virtuelle sur laquelle une distribution Linux (Fedora 10) est installé. Sur cette machine virtuelle, je dois tout installer et configurer en gardant les fonctionnalités existantes du serveur en production et en y ajoutant des fonctionnalités nouvelles. Celles-ci apporteront une sécurité car je dois intégrer un antivirus et gérer l'authentification SMTP, c'est à dire forcer les utilisateurs à s'authentifier. De plus, je dois intégrer la gestion des quotas qui limitera la taille des boîtes aux lettres des utilisateurs et informera les utilisateurs que leurs boîtes est pleine. Cette gestion des quotas avertira les expéditeurs qu'ils sont dans l'obligation de renvoyer le mail car la boîte des destinataires est pleine.

% page présentation rapide de l'entreprise et du service informatique (matériel, organisation)
\newpage
\section{Présentation de l'entreprise}
2ST a été créé en 1987 à Maxéville Champ Le Boeuf. 2ST est une SARL au capital de 200 000 euros. 2ST est une entreprise qui produit des services tels que la gestion de contenu (KiwiCms), d'accessibilité, de création et d'animation de sites web, d'intranet, d'applications de cartographie intéractive... 2ST travaille en partenariat avec les acteurs de la recherche en Lorraine (OSEO, ANVAR, LORIA) sur le développement de KiwiCms. Ce dernier est un progiciel OpenSource qui permet la gestion de contenu. Les principaux clients de 2ST sont le Crous de Nancy-Metz, la ville de Vittel, la Foncière des régions, le CD Baroque, la Plaisance Equipements, le Théâtre de la Manufacture,le Metrolor, l'Hypermarché Leclerc, Hyundai-Nancy... En tout 2ST comptent pas moins de 600 clients et 7 millions de pages internet vues par mois. Elle héberge environ 2000 noms de domaine.
\\
\\
% Présentation du service :
Le service d'accueil est composé de Pierre Lassey qui a la charge d'assurer l'administration du réseaux. Il gère un parc informatique qui est composé de 2 firewall, de serveurs de messagerie, de serveurs DNS, de serveurs Web, de swiths, de routeurs, ...

% Les missions confiées en développant les points intéressants :
\newpage
\section{Présentation du fonctionnement d'une messagerie}
\subsection{Introduction générale}
Il faut savoir que le courier électronique n'est pas intégré dans un seul produit mais repose sur plusieurs standards et protocoles permettant d'envoyer et recevoir des courriels. Lorsqu'un utilisateur envoie un courriel avec son interface webmail, ce dernier le passe à un serveur de courier qui lui même exécute un MTA (Mail Transfer Agent). Le MTA s'assure que le courier est délivré d'un système à un autre. C'est le MTA qui détermine s'il doit accepter ou non le courier électronique. Si le MTA accepte un couriel, il doit décider ce qu'il va en faire. Il existe plusieurs cas possibles. Soit le MTA délivre le message à un utilisateur local, soit il passe le message à un autre MTA. Dans le cas où le MTA ne peut pas délivrer le message ou le passer à un autre, il le renvoie à son expéditeur et avertit l'administrateur.\\
\\
Si le message est destiné à un utilisateur du système, le MTA le passe à un agent de distribution du courier (MDA : Mail Delivery Agent). Le MDA est capable de stocker le message sous forme de fichier texte, ou dans une base de données.\\
\\
Enfin l'utilisateur peut consulter ses courriels grâce à son interface webmail. Cette interface interroge l'espace de stockage et récupère les messages qui sont destinés à l'utilisateur concerné.\\
% Illustrer par un schéma 

\subsection{Présentation des protocoles}
Le protocole SMTP (Simple Mail Transport Protocol) est utilisé pour envoyer des messages. Tandis que les protocoles POP (Post Office Protocol) et IMAP (Internet Mail Application Protocol) permettent la récupération des messages. Le protocole SMTP, défini dans la RFC 2821, permet d'échanger des messages entre deux machines d'un réseau. La RFC 1939 du protocole POP et la RFC 2060 du protocole IMAP décrivent comment ceux-ci récupèrent les messages à partir d'un espace de stockage.\\
\\
Il est à noter que les interfaces webmail n'utilisent pas forcément le même système hôte pour SMTP et pour POP/IMAP, c'est pour cette raison que les clients de messagerie doivent fournir la capacité à être configurer séparément pour POP/IMAP et pour SMTP. Par exemple, un employé peut configurer son webmail de façon à ce qu'il récupère ses messages à partir du serveur POP/IMAP de leur entreprise alors que cet employé est en déplacement. De plus, il peut configurer son webmail pour qu'il envoie des couriers en utilisant un FAI qui n'est pas celui de son entreprise.\\
\\
Les utilisateurs récupèrent leurs messages grâce à leur interface webmail pour se connecter à un serveur POP ou IMAP. Les utilisateurs POP récupèrent tous leurs messages sur le serveur et les traitent en local, tandis que les utilisateurs IMAP gèrent leur courier sur le serveur lui-même. Il est à noter qu'il est fréquent qu'un même serveur dispose à la fois du protocole POP et du protocole IMAP. De plus ces deux protocoles ne s'occupent pas du tout de l'envoi du courier mais se chargent uniquement de la récupération par les utilisateurs des messages qui leurs ont été délivrés préalablement dans un espace de stockage.
\subsection{Présentation de  Postfix}
Postfix est un MTA et gère la distribution des messages localisés sur un système ou entre plusieurs serveurs de messagerie. Postfix est actuellement disponible dans sa version stable 2.5. La première version de Postfix date de 1999. C'est un logiciel libre qui a été développé par Wietse Venema et plusieurs contributeurs. Comparé à Sendmail, Postfix est plus rapide, plus facile à administrer et plus sécurisé que Sendmail. Postfix a deux rôles principaux, il a des reponsabilités en tant que MTA et de distributeur local. En tant que MTA, Postfix reçoit et distribue les courriels sur le réseau par l'intermédiaire du protocole SMTP. Concernant la distribution locale, l'agent de Postfix peut déposer les messages directement dans un espace de stockage ou transmettre un message à un agent de distribution spécialisé (courier-imap par exemple).\\
% Illustrer par un schéma et le commenter
\subsection{Postfix et la sécurité}
Les serveurs de courier sont exposés aux attaques car leur fonctionnement exige qu'ils acceptent des données de systèmes inconnus. Le problème des serveurs SMTP, c'est qu'ils peuvent servir de relais de mail anonyme et être utilisé par un pirate. Il faut donc désactiver cette option. D'autre part, les commandes EXPN et VRFY fournissent beaucoup d'informations au pirate. Il faut également les désactiver. Il est également nécessaire de restreindre l'accès au serveur SMTP aux machines du réseau interne. L'architecture de Postfix limite les attaques importantes. Comme Postfix n'est pas un système fait d'un seul bloc, il est moins sensible aux attaques.% à revoir
% Première tâche
\section{Mes deux réalisations}
\subsection{Réalisation 1 : Migration du serveur de messagerie}
\subsubsection{Services offerts par le serveur de production}
Le serveur de messagerie qui est en production et qui a été mis en place par M.Pierre Lassey, est hebergé sur une machine physique. Le système d'exploitation utilisé est une distibution linux Fedora Core 4. Les versions des applications installés et configurés sont Postfix 2.2.7, Courier-imap 4.0.6, Apache 2.2.4, Mysql-server 4.1.16 et Php 5.0.4. D'autre part, les développeurs et l'administrateur réseau, ont développés en interne 2 applications webmail et 2 applications de gestion de compte mail.
% Expliquer plus en détails les applis développés en interne.
\subsubsection{Besoins de l'entreprise}
M.Jean Claude Barthélémy et M.Pierre Lassey m'ont confiés la migration du serveur de messagerie afin d'y apporter des nouvelles fonctionnalités. Celles-ci consistent à forcer les utilisateurs d'un domaine particulier à s'authentifier, à limiter l'espace disque du serveur, et enfin à sécuriser leur serveur de messagerie en détectant et supprimant les virus.
\subsubsection{Mise en place du serveur de développement}
Pour obtenir la même configuration que le serveur de production, j'ai installé les mêmes applications que ce serveur mais en disposant des dernières améliorations. Je fut dans l'obligation d'installer d'autres applications nécessaires au fonctionnement du nouveau serveur.

\subsubsection{Nouvelle fonctionnalité : Authentification SMTP}
Le protocole SMTP ne gère pas l'authentification des utilisateurs. Or sans authentification, on ne peut pas savoir qui envoie du courier au serveur de l'entreprise. On ne pas se fier seulement aux adresses de courier des clients pour les identifier. C'est pour ces raisons que M.Lassey m'a demandé de mettre en place l'utilisation de SASL (Simple Authentication and Security Layer) afin d'identifier les personnes qui utilisent leur serveur de messagerie.\\
\\
Pour mettre en place l'authentification SASL, il faut installer cyrus-sasl. Dans un premier temps, j'ai installé cette application à l'aide des paquets yum. Mais après l'avoir configuré, l'authentification ne fonctionne pas. Suite à une discussion avec M.Lassey, il m'a conseillé de désinstaller tous les paquets yum de cyrus-sasl et de réinstaller cette application mais en la compilant avec les sources. En compilant les sources, on peut-être sûr des supports et des dépendances que cyrus-sasl détient vis à vis des autres applications ou services. Le problème venait du fait que Postfix décryptait bien le login et le mot de passe saisi par l'utilisateur à travers son interface webmail mais ne réalisait pas la comparaison avec ceux présents dans la base de données Mysql. C'est pour cette raison que j'ai compilé cyrus-sasl avec le support mysql en spécifiant les options suivantes lors de la compilation :\\
./configure - -enable-sql - -with-mysql=/usr/lib/mysql\\
J'ai bien sûr spécifié d'autres options mais elles sont moins pertinantes.
\\
\\
Lors de mes recherches pour résoudre ce problème, j'ai lu dans un livre que les problèmes peuvent être difficiles à diagnostiquer car de nombreuses composantes sont impliquées dans ce processus. Heureusement qu'il existe une autre aternative au paquet yum, car grâce aux aux tarball, on peut spécifier les options que l'on souhaite installer et permet dans certains cas de résoudre des problèmes.

\subsubsection{Nouvelle fonctionnalité : Les quotas}M.Lassey m'a demandé d'intégrer la gestion des quotas à leur serveur de messagerie car certains clients ne supprimment pas leurs courriels après les avoir lu. Ceci a pour conséquence d'augmenter la taille de leur boîte aux lettres et de réduire l'espace disque disponible du serveur. De plus M.Lassey est obligé de rajouter des disques dur sur le serveur, ce qui revient à un coût à prendre en compte.
Les quotas peuvent être gérés par utilisateur ou par domaine. En ce qui concerne la gestion par domaine, tous les utilisateurs auront le même quota. La valeur du quota est intégré à la base de donnée Mysql. De plus, un message d'alerte est envoyé au compte utilisateur si l'espace disque utilisé atteint 80 pour cents de l'espace alloué. Les courriels sont refusés et non délivrés dès le quota atteint.
\subsubsection{Nouvelle fonctionnalité : L'antivirus ClamAv}
% Deuxième tâche
\subsection{Réalisation 2 : Étude ajout d'un deuxième FAI}
\end{document}